home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / packet / 7plus210 / 7plus_g.doc < prev    next >
Text File  |  1993-04-27  |  99KB  |  2,509 lines

  1.  
  2.  
  3.  
  4.  
  5.            =============================================================
  6.  
  7.              ###   ######             ####
  8.             ##### ##########         ######
  9.             ##################       #######
  10.              ####################     ######
  11.              #####        ##################
  12.              ####           ################
  13.              ####             #############              #####
  14.             #####                    ######              #####
  15.             #####                  #######               #####
  16.             ######               #######                 #####
  17.             ######             ########                  #####
  18.              ####            ########                    #####
  19.                            ########                      #####
  20.                           #######              #########################
  21.                          #######               #########################
  22.                         #######                #########################
  23.                        #######                           #####
  24.                        ######                            #####
  25.                       #######                            #####
  26.                       ######                             #####
  27.                       ######                             #####
  28.                      #######                             #####
  29.                      #######                             #####
  30.                      #######
  31.                      #######
  32.                       ######
  33.                        ####    7PLUS v2.10 - (c) 1991,92,93 by DG1BBQ
  34.  
  35.  
  36.                 An intelligent ASCII to binary encoder with enhanced
  37.                               correcting capabilities.
  38.            =============================================================
  39.  
  40.  
  41.                    ---------------------------------------------
  42.                    Manual for all system versions of 7PLUS v2.10
  43.                    ---------------------------------------------
  44.  
  45.  
  46.            7PLUS is hamware. It may only be passed on free of charge and
  47.                                  including manual.
  48.                 7PLUS may be used without limit of duration for non-
  49.                                 commercial purposes.
  50.  
  51.  
  52.            =============================================================
  53.            | Axel Bauda                            Bank-account:       |
  54.            | DG1BBQ @DB0CL.#HB.DEU.EU              Postgiroamt Hamburg |
  55.            | Potsdamer Str.43                      Bank-No. 200 100 20 |
  56.            | D-w27576 Bremerhaven                  Account 5413 91-206 |
  57.            | Germany                                                   |
  58.            =============================================================
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.                                                                 Contents
  69.            -------------------------------------------------------------
  70.  
  71.            CONTENTS
  72.            ========
  73.  
  74.  
  75.            The reading-the-manual-phobia (DOCphobia) .................1
  76.  
  77.            Preface ...................................................1
  78.  
  79.            The development of 7PLUS ..................................2
  80.  
  81.            The ASCII-encoder 7PLUS ...................................3
  82.  
  83.            Basic steps of a 7PLUS filetransfer .......................3
  84.  
  85.            7PLUS-theory ..............................................5
  86.                Encoding algorithm ....................................5
  87.                Character set .........................................6
  88.                Decoding algorithm ....................................6
  89.                Automagic single byte correction ......................7
  90.                The structure of 7PLUS code files .....................7
  91.                   Header .............................................8
  92.                   Code lines .........................................9
  93.                   Foot line ..........................................9
  94.                Single and multipart 7PLUS code files ................10
  95.                Splitting ............................................11
  96.                The metafile .........................................11
  97.                The error report .....................................12
  98.                The correction file ..................................14
  99.                'Saving' damaged error reports and correction files ..15
  100.  
  101.            Compatibility of 7PLUS versions ..........................16
  102.  
  103.            Filename conventions .....................................17
  104.  
  105.            Usage ....................................................18
  106.                Encoding .............................................18
  107.                Extracting ...........................................19
  108.                Decoding .............................................20
  109.                Compiling a correction file ..........................20
  110.                Correcting ...........................................21
  111.                Joining error reports ................................22
  112.                Recreating an error report from a metafile ...........23
  113.                Quick help ...........................................23
  114.                Additional options ...................................23
  115.                   -J  (Output into single file) .....................23
  116.                   -K  (Automatic erase) .............................23
  117.                   -N  (Don't wait for keystroke at termination) .....23
  118.                   -P  (Use CR as line delimitor) ....................23
  119.                   -R  (Re-encode a single part) .....................24
  120.                   -SYSOP  (Decode, even if parts are missing) .......24
  121.                   -T  (Define file termination string) ..............24
  122.                   -TB (Add head and foot text when encoding) ........24
  123.                   -Y  (Assume 'YES' on queries) .....................26
  124.                   -#  (Produce server info) .........................26
  125.  
  126.  
  127.  
  128.  
  129.                                                                                                                                                 I
  130.  
  131.  
  132.  
  133.  
  134.                                                                 Contents
  135.            -------------------------------------------------------------
  136.  
  137.            Tips for configuring devices and programs for 7PLUS ......26
  138.                General conditions ...................................26
  139.                Downloading/uploading in binary mode .................27
  140.                   Downloading .......................................27
  141.                   Uploading .........................................28
  142.                7PLUS on the AMIGA ...................................28
  143.  
  144.            Tips for down- and uploading of 7PLUS files ..............28
  145.                Downloading ..........................................28
  146.                Automatic 'BBS milking' ..............................30
  147.                'Listening in' on someone else .......................31
  148.                Uploading ............................................32
  149.                Uploading correction files ...........................33
  150.  
  151.            General notes ............................................34
  152.  
  153.            Is there a future without errors? ........................34
  154.  
  155.            Ordering 7PLUS ...........................................35
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                                                                                               II
  196.  
  197.  
  198.  
  199.  
  200.                                                                  Preface
  201.            -------------------------------------------------------------
  202.  
  203.            The reading-the-manual-phobia (DOCphobia)
  204.            =========================================
  205.  
  206.            Dispite the fact, I have gone through great lengths in making
  207.            this manual as complete as possible, I am frequently asked
  208.            about things that are precicely described in this manual.
  209.  
  210.            I know reading a manual can be cumbersome, but it would save
  211.            me, as the 7PLUS author, a lot of unnecessary work, if every
  212.            7PLUS user who is having trouble, would take THIS MANUAL in
  213.            hand and read it again thoroughly, before asking me.
  214.  
  215.            Of course, since nobody is perfect, I may have forgotten a
  216.            few things here an there. Also some parts may not be very
  217.            intelligible to beginners, although I tried hard to keep it
  218.            simple.
  219.  
  220.            I cannot supply a MS_DOS/ATARI/AMIGA or UNIX course in this
  221.            manual. Therefore you should be familiar with the basics of
  222.            your computer and terminal program.
  223.  
  224.  
  225.            Preface
  226.            =======
  227.  
  228.            When sending data through the Packet Radio network, errors
  229.            may occur in spite of the safety mechanisms incorporated into
  230.            the AX25 protocol. One must bear in mind, that data may pass
  231.            a lot of unprotocolled interfaces, where a simple impulse can
  232.            alter it. Also upon transfer the data is passed through quite
  233.            a lot of memory cells. On computers that don't use memory
  234.            parity checking, memory errors may go undetected.
  235.  
  236.            Plain text with errors is still well legible for humans. We
  237.            can correct or ignore errors (as long as numbers aren't
  238.            falsified) and thus still understand what it meant. Even at
  239.            an error rate of 10%, we can still get the meaning of the
  240.            text.
  241.  
  242.            Things are very different when it comes to machine readable
  243.            data as programs for instance. One error in 100000 bytes may
  244.            cause the data to be completely worthless. A program affected
  245.            by this would probably not run at all or at least not
  246.            correctly, a picture may be damaged beyond recognition or may
  247.            not be displayable at all.
  248.  
  249.            If a program was sent in the form of it's source text, it may
  250.            be repaired, but only by those who have a profound knowledge
  251.            of that programming language. For the mass of users, this is
  252.            no help.
  253.  
  254.            Another problem is: How do you transfer a program or picture
  255.            through a netnork of bulletin board systems (BBS) that are
  256.            usually just meant to handle plain text?
  257.  
  258.  
  259.  
  260.  
  261.                                                                                                                                                 1
  262.  
  263.  
  264.  
  265.  
  266.                                                                  Preface
  267.            -------------------------------------------------------------
  268.  
  269.            The answer is to convert it to a format compatible with the
  270.            BBSs. This task is done by so-called ASCII-encoders (short:
  271.            encoder). The encoders used in the past had one common
  272.            problem:
  273.  
  274.            - Did a file get corrupted, it was useless and had to be
  275.              transfered again.
  276.  
  277.            - Some encoders wouldn't even recognize errors, so the files
  278.              produces could actually do unexpected things! This ranged
  279.              from simple crashes to destruction of data on the harddisk.
  280.  
  281.            - Some did recognize that there was an error, but wouldn't
  282.              tell you where (in what file).
  283.  
  284.            - The overhead produced by those encoders was quite large and
  285.              ranged between 27% up to 100% (!). To transfer a program of
  286.              10K in length took up between 12,7K and 20K, depending on
  287.              the encoder used.
  288.  
  289.  
  290.            This situation was not very satisfying, so it was high time
  291.            for an encoder that could handle the problem
  292.  
  293.            - by using checksums on each and every line of code, thus
  294.              being able to recognize the exact position of errors,
  295.  
  296.            - by supplying a method of correting errors without having to
  297.              resend entire files over and over again,
  298.  
  299.            - by correcting minor errors on the spot, and
  300.  
  301.            - by producing less overhead (ca.15%).
  302.  
  303.            The encoder that does all this - and more - is >> 7PLUS <<.
  304.  
  305.  
  306.            The development of 7PLUS
  307.            ========================
  308.  
  309.            7PLUS has been developed on the basis of my previous encoder
  310.            SEVEN. 7PLUS however has the ability of detecting and correc-
  311.            ting errors. These abilities had the price of incompatibility
  312.            to SEVEN, however. This isn't so grave, since 7PLUS has a lot
  313.            of advantages compared to SEVEN and now the repeated upload
  314.            of files, that were corrupted in store & forward, is a thing
  315.            of the past.
  316.  
  317.            Since 7PLUS was incompatible to SEVEN anyway, I implemented a
  318.            RADIX216 encoding wich allows for very compact files.
  319.  
  320.            In the beginning, there was heavy opposition against 7PLUS.
  321.            Some people were convinced that an encoder that uses charac-
  322.            ters above 7Fh would create more trouble than do good.
  323.  
  324.  
  325.  
  326.  
  327.                                                                                                                                                 2
  328.  
  329.  
  330.  
  331.  
  332.                                                 The development of 7PLUS
  333.            -------------------------------------------------------------
  334.  
  335.            7PLUS established itself as THE standard encoder in Germany
  336.            very quickly. This proves the critics to be wrong. By now,
  337.            7PLUS is not only used in Germany, but worldwide. There even
  338.            are BBSs that use 7PLUS for file serving purposes.
  339.  
  340.            An inportant aspect is the fact, that 7PLUS is available for
  341.            the most commonly used computer systems in Packet Radio:
  342.            IBM_PC, ATARI_ST, AMIGA and UNIX systems.
  343.            (There also are versions for the Apple MacIntosh and Acorn
  344.            Archimedes. I don't have those versions, so ask around for
  345.            them in the BBSs)
  346.  
  347.  
  348.            The ASCII-encoder 7PLUS
  349.            =======================
  350.  
  351.            From its conception, the Packet Radio protocol (AX.25) is an
  352.            8 bit system. When only using 7 bits, the protocol is only
  353.            used to 87.5% of its capacity. When encoding data only using
  354.            a 6 or 7 bit algorithm, an unnecessarily high overhead is
  355.            produced.
  356.  
  357.            7PLUS (all versions)
  358.  
  359.            - exploits the capacity of the network fully by using all 8
  360.              bits,
  361.  
  362.            - creates the 7PLUS code lines in a way, that when decoding
  363.              them, it can determine if a line was transfered correctly,
  364.  
  365.            - detects and protocols what lines were damaged or missing,
  366.  
  367.            - simplifies the exact reconstitution of corrupted files, by
  368.              using an mainly automated method of correcting (with
  369.              minimal cooperation between sender and recipient).
  370.  
  371.  
  372.            Basic steps of a 7PLUS filetransfer
  373.            ===================================
  374.  
  375.            1. OM A encodes the file TEST.TXT into TEST.7PL and uploads
  376.               it to the Packet Radio network.
  377.  
  378.            2. OM B downloads TEST.7PL and tries to decode it.
  379.               ...Unfortunately, the file has been damaged on its travel
  380.                  through the network....
  381.  
  382.            3. OM B's 7PLUS detects the errors in TEST.7PL and produces a
  383.               so-called metafile (TEST.7MF) where all the good lines are
  384.               stored in their already decoded form and in addition an
  385.               error report TEST.ERR. (TEST.7PL may be deleted at this
  386.               point, since it is not needed for correcting)
  387.  
  388.            4. OM B sends TEST.ERR to OM A.
  389.  
  390.  
  391.  
  392.  
  393.                                                                                                                                                 3
  394.  
  395.  
  396.  
  397.  
  398.                                                  The ASCII-encoder 7PLUS
  399.            -------------------------------------------------------------
  400.  
  401.            5. With the help of 7PLUS, the original TEST.TXT and the
  402.               error report TEST.ERR, OM A creates the correction file
  403.               TEST.COR. He then sends the correction file to OM B or he
  404.               uploads it as a bulletin, if it can be useful to others.
  405.  
  406.            6. OM B's 7PLUS then uses TEST.COR to fill in the gaps in the
  407.               metafile TEST.7MF. If no gaps remain, 7PLUS frees the
  408.               metafile of the index data contained in it, renames it to
  409.               TEST.TXT and reconstitutes the file's timestamp.
  410.  
  411.  
  412.            In case the file TEST.COR has been damaged as well, OM A has
  413.            to send it again. Since the files TEST.ERR and TEST.COR are
  414.            usually rather short, this way of correcting damaged files
  415.            (points 3 through 6 above) is much more effective than
  416.            resending entire parts again and again until they luckily get
  417.            through undamaged.
  418.            The whole concept of exchanging error report and correction
  419.            files may sound complicated at first, but it isn't really.
  420.  
  421.  
  422.            The 7PLUS correcting method is basically comprised of 5
  423.            simple, but important steps:
  424.  
  425.              1. "At OM B: Decode and recognize faulty lines and memorize
  426.                 them in an error report TEST.ERR (automated),
  427.              2. "Send error report TEST.ERR from OM B to OM A",
  428.              3. "At OM A: Compile correction file TEST.COR" (automated),
  429.              4. "Send correction file TEST.COR from OM A to OM B",
  430.              5. "At OM B: Do the correction" (automated).
  431.  
  432.            If the correction file TEST.COR (for OM B) is downloaded by
  433.            OM B2 (someone who also downloaded TEST.7PL) does not cover
  434.            all faulty lines, he just has to run through the described
  435.            steps 3-5, since his own special TEST.ERR has been generated
  436.            when unsuccessfully tried to correct his TEST.7MF.
  437.  
  438.            Once OM A and OM B have successfully transfered a program or
  439.            picture file this way, they will see that the whole concept
  440.            is quite fool-proof.
  441.  
  442.  
  443.            A helpful OM C, who has successfully decoded TEST.7PL can
  444.            take the place of OM A by supplying correction files to his
  445.            friends or to someone looking for it. Also, an automated
  446.            station (e.g. an F6FBB-BBS running 7PSERV by SM0NCS) may well
  447.            take over the job of supplying correction files!
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.                                                                                                                                                 4
  460.  
  461.  
  462.  
  463.  
  464.                                                             7PLUS-theory
  465.            -------------------------------------------------------------
  466.  
  467.            7PLUS-theory
  468.            ============
  469.  
  470.            The encoding scheme 7PLUS uses, could well be called a 7-
  471.            three-quarter-bit encoding, because on the smallest scale, 31
  472.            bits of the original data are encoded into 32 bits (4 charac-
  473.            ters) of the 7PLUS code. That is one of the reason, why 7PLUS
  474.            is called 7PLUS                           (Simple, isn't it?)
  475.  
  476.            7PLUS uses a RADIX216-algorithm for encoding.
  477.  
  478.            For 31 bytes of the original data, 32 7PLUS-bytes are
  479.            produced. This causes an overhead of 1/32 = 3.125%.
  480.            Because of the required line delimitors, checksums, head and
  481.            foot lines, the overhead increases to about 13% to 15%.
  482.  
  483.            Simple encoding algorithms as RADIX64 (UUE), RADIX128 (SEVEN)
  484.            are done by simple bit shifting operations (multiplications
  485.            with 2^n and divisions by 2^n). Something, microprocessors
  486.            can do with great speed.
  487.  
  488.            RADIX216 (7PLUS) is not based on multiples of 2, thus integer
  489.            divisions and multiplikations are necessary which take consi-
  490.            derably more time than simple bit shiftings.
  491.  
  492.            Some older microprocessors do not have direkt commands for
  493.            multiplication and division of integers, so these operations
  494.            have to be implemented by using add-shift-loops, which run
  495.            relatively slowly. Divisions done that way are even slower.
  496.            The microprocessors commonly used today (80X86, 680X0) how-
  497.            ever all have direct commands for multiplikation and division
  498.            of integers. That's why the 7PLUS algorithm will run at
  499.            acceptable speeds on them.
  500.  
  501.  
  502.            Encoding algorithm
  503.            ------------------
  504.  
  505.            When encoding data, 7PLUS interprets 31 bits of the original
  506.            data as the integer number N. This number is then divided
  507.            through 216 for three times.
  508.  
  509.            Die divisional rests (A1, A2, A3) and the third quotient (A4)
  510.            - can take one of 216 possible values (0 bis 215) and
  511.            - represent 4 basic characters  (= 4 bytes = 32 bits) of the
  512.              7PLUS code.
  513.  
  514.            After encoding of a group of 31 bytes of the original data, a
  515.            7PLUS group of 32 basic characters is the result.
  516.  
  517.            The basic characters from the RADIX216 algorithm can however
  518.            not be used directly as they still contain certain characters
  519.            the are used for control purposes in the ASCII code. This is
  520.            why each basic character is asigned a new one, that does not
  521.            collide with any control character of the ASCII code.
  522.  
  523.  
  524.  
  525.                                                                                                                                                 5
  526.  
  527.  
  528.  
  529.  
  530.                                                             7PLUS-theory
  531.            -------------------------------------------------------------
  532.  
  533.            Character set
  534.            -------------
  535.  
  536.            Characters used by the 7PLUS algorithm: (in HEX notation)
  537.  
  538.               21 - 29, 2B - 7E, 80 - 90, 92, 94 - FC (ranges including)
  539.  
  540.            Characters not used:
  541.  
  542.               00 to 20  : Control codes and the space character.
  543.  
  544.               2A        : The asterisk (*) must not be used, because
  545.                         - by chance - the string '***end' could be
  546.                         produced, thus causing the receiving TheBox-BBS
  547.                         to end storage. (To my shame, I must admit, I
  548.                         did not take the bulletin board systems used
  549.                         outside of Germany into accout.. The file
  550.                         termination '/EX' may be produced by chance! I
  551.                         haven't received any complaints about this,
  552.                         however. Axel)
  553.  
  554.               7F        : DEL, another control code.
  555.  
  556.               91 and 93 : Some telephone terminal programs mis-interpret
  557.                         these characters as XON and XOFF (11h and 13h).
  558.  
  559.            When having problems storing all characters of the 7PLUS
  560.            code, see 'Tips for configuring ...'.
  561.  
  562.  
  563.            Decoding algorithm
  564.            ------------------
  565.  
  566.            When decoding,
  567.            - 7PLUS reads 4 characters of the 7PLUS code ( = 32 bits) and
  568.            - regroups them into the four values  A1, A2, A3 and A4.
  569.  
  570.            The value N is then rebuilt:
  571.  
  572.            N = A1 + A2*216^1 + A3*216^2 + A4*216^3
  573.  
  574.            The value N now represents 31 bits of the original data
  575.            (almost 4 bytes).
  576.            After reading and decoding a full 7PLUS group of 32 charac-
  577.            ters, 31 bytes of the original data are reconstituted.
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.                                                                                                                                                 6
  592.  
  593.  
  594.  
  595.  
  596.                                                             7PLUS-theory
  597.            -------------------------------------------------------------
  598.  
  599.            Automagic single byte correction
  600.            --------------------------------
  601.  
  602.            Since version 1.60, 7PLUS uses a simple, but effective way to
  603.            correct single byte errors on the spot, when
  604.  
  605.            - one byte per line is wrong, or
  606.            - one byte is missing, or
  607.            - one byte is superfluous.
  608.  
  609.            Upon decoding of a line, 7PLUS checks its validity by using
  610.            the 'inner' checksum, wich has been there since 7PLUS v1.0 .
  611.            In case of an error, 7PLUS tries to rebuild the line by
  612.            testing all possible combinations (up to more than 14.000
  613.            combinations). If a combination is found, where the 'outer'
  614.            checksum (this checksum has been added since version 1.60 of
  615.            7PLUS) tests ok, the result is checked again with the inner
  616.            checksum, because at this point there may be more than one
  617.            possible result. If both checksums test ok, then the line has
  618.            been successfully rebuilt. If not, testing of combinations
  619.            continues until either a valid combination is found or all
  620.            combinations have been tested unsuccessfully.
  621.  
  622.            A situation where the inner AND outer checksum test ok and
  623.            the line is still incorrect, is EXTREMELY unlikely. To add
  624.            some more safety, the outer checksum is calculated inverse to
  625.            the inner one (back to front).
  626.  
  627.            The single byte correction may take quite some time (up to
  628.            three seconds) on slow computers, but if this feature can
  629.            save the trouble of ordering a correction files, it's well
  630.            worth the waiting. Also, single byte errors are not that
  631.            frequent.
  632.  
  633.  
  634.            I am well aware of the fact that there are better methods.
  635.            The trouble is, they either have a much greater overhead or
  636.            need extensive tables, wich is a problem in situations where
  637.            there isn't much memory available (e.g. when called from
  638.            within a terminal program or a computer running a bulletin
  639.            board system).
  640.  
  641.  
  642.            The structure of 7PLUS code files
  643.            =================================
  644.  
  645.            7PLUS code files are generally comprised of
  646.            - a header,
  647.            - up to 512 lines of code and
  648.            - a foot line.
  649.  
  650.            Each line is concluded with a CR/LF combination (on MSDOS and
  651.            ATARI; on other systems a line delimitor complying with that
  652.            system is used, e.g. LF on AMIGA/UNIX).
  653.            During transfer via Packet Radio, the line delimitor is
  654.            always and only the CR character.
  655.  
  656.  
  657.                                                                                                                                                 7
  658.  
  659.  
  660.  
  661.  
  662.                                                             7PLUS-theory
  663.            -------------------------------------------------------------
  664.  
  665.            Transformation of CR/LF (LF with AMIGA/UNIX) into CR is done
  666.            automatically by the terminal programs.
  667.  
  668.            Exception: When receiving or sending in the binary mode of
  669.                      some terminal programs.
  670.                      See 'Tips for configuring ...'.
  671.  
  672.  
  673.            Header
  674.            ------
  675.            (Presentation split due to lack of space)
  676.  
  677.                go_7+. 005 of 010 TEST.TXT     0010453 ->
  678.               +-----+ +-+    +-+ +----------+ +-----+
  679.                  1     2      3       4          5
  680.  
  681.            -> 6488 166 (7PLUS v2.1) XXXXYZZ
  682.               +--+ +-+ +----------+ +-----+
  683.                 6   7       8          9
  684.  
  685.  
  686.            1) Start indicator, beginning in the second column.
  687.            2) Number of the part, decimal    (part 5)
  688.            3) Number of parts, decimal     (10 parts)
  689.            4) Name of original file        (TEST.TXT),
  690.               filled with spaces to a length of 12 characters. Even on
  691.               system that allow longer filenames, an MSDOS-compatible
  692.               filename is supplied here! This is to insure the exchange-
  693.               ability of files between different systems.
  694.            5) Length of the unencoded file in bytes (decimal).
  695.            6) Number of ASCII bytes in this part. Not used any more
  696.               since 7PLUS v2.0. It's there only to keep compatibility
  697.               with older versions.
  698.            7) Number of lines per file (hex).
  699.            8) Name and version of encoder used.
  700.            9) XXXX: Test characters to detect stripping of eigth bit. Is
  701.                    also used to indicate that the full filename follows
  702.                    in the next line (since 7PLUS v1.4).
  703.               Y:    Minichecksum for the header (since 7PLUS v1.5).
  704.               ZZ:   Additional checksum for single byte correction.
  705.                    (since 7PLUS v1.60).
  706.  
  707.            (Calculation of checksums, see 7PLUS source code)
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.                                                                                                                                                 8
  724.  
  725.  
  726.  
  727.  
  728.                                                             7PLUS-theory
  729.            -------------------------------------------------------------
  730.  
  731.            Code lines
  732.            ----------
  733.            (Presentation split due to lack of space)
  734.  
  735.               AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ->
  736.               +------------------------------>
  737.                             1
  738.  
  739.            -> BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBPPPQQ
  740.               >------------------------------++---+
  741.                                                 2
  742.  
  743.            1) A: First 7PLUS group (32 7PLUS bytes representing 31 bytes
  744.                 of the original data).
  745.               B: Second 7PLUS group.
  746.            2) P: Checksum (14 bit) and line numbering (9 bit).
  747.               Q: (Since 7PLUS v2.0) Additional checksum for single byte
  748.                 correction (15 bit).
  749.  
  750.            A 7PLUS code file may contain up to a maximum of 512 code
  751.            lines.
  752.  
  753.            (Calculation of checksums, see 7PLUS source code)
  754.  
  755.  
  756.            Foot line
  757.            ---------
  758.  
  759.              stop_7+. (TEST.P05/0A) [18398BE4]                   XXXXYZZ
  760.             +-------+ +-----------+ +--------+ +---------------+ +-----+
  761.                 1           2           3              4            5
  762.  
  763.            1) End indicator beginning in second column.
  764.            2) Name of the encoded file and overall number of parts.
  765.            3) Date and time (timestamp) of the unencoded file in MSDOS
  766.               format:
  767.                 32bit-value,   bits 0 -4  -> seconds / 2
  768.                                bits 5 -10 -> minutes
  769.                                bits 11-15 -> hours
  770.                                bits 16-20 -> days
  771.                                bits 21-24 -> moths
  772.                                bits 25-31 -> years since 1980
  773.            4) Reserved.
  774.            5) See position 9 in 'Header'.
  775.  
  776.            (Calculation of checksums, see 7PLUS source code)
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.                                                                                                                                                 9
  790.  
  791.  
  792.  
  793.  
  794.                                                             7PLUS-theory
  795.            -------------------------------------------------------------
  796.  
  797.            Single and multipart 7PLUS code files
  798.            =====================================
  799.  
  800.            7PLUS uses a 9 bit line number for the numbering of the code
  801.            lines. This allows for a maximun of 2^9 (=512) lines per code
  802.            file. Since a code line represents 62 bytes of the original
  803.            data, the maximum size of a file that can be encoded into a
  804.            single 7PLUS code file is 512 * 62 = 31744 bytes.
  805.            Bigger files are automatically encoded into several 7PLUS
  806.            code files because of this restriction.
  807.  
  808.            However, 7PLUS already starts splitting at a size of 8557
  809.            bytes, so that the 7PLUS code file have a size of abt 10K. By
  810.            using the appropriate split options, 7PLUS can still be
  811.            ordered to produce bigger files, if required.
  812.  
  813.              Note:
  814.              -----
  815.              The reason for the restriction of the size of code file to
  816.              abt 10k lies in the not very smart method used in the store
  817.              & forward traffic between BBSs.
  818.  
  819.              An example:
  820.  
  821.              A message of 40,000 bytes is to be transfered from BBS A to
  822.              BBS B. If the transfer is interrupted by a link failure
  823.              (happens quite frequently), the entire transfer has to be
  824.              repeated from the top, until the link holds through the
  825.              entire transfer.
  826.              As long as the authors of bulletin board systems don't
  827.              improve the store & forward method to allow resuming an
  828.              interrupted transfer without starting allover, it is best
  829.              to keep the size of files low.
  830.  
  831.            Single part code files are issued a filename consisting of
  832.            the prefix of the filename of the original file and the
  833.            extension '.7PL'.
  834.  
  835.            Example: 'FUNKTION.EXE' or 'FUNKTION.PAS' becomes
  836.                     'FUNKTION.7PL'.
  837.  
  838.            Multipart code files are issued a different extension than
  839.            single part code files. The extension '.PXX' marks all code
  840.            files that belong together. 'XX' stands for a hexadecimal
  841.            number in the range of 01 to FF (1 to 255 dec).
  842.  
  843.            Example: 'XMIT.EXE' may be encoded into 'XMIT.P01',
  844.                     'XMIT.P02', 'XMIT.P03' etc.
  845.  
  846.            7PLUS can produce up to 255 parts. Thus, 255 * 31,744 =
  847.            8,094,720 bytes can be encoded with 7PLUS.
  848.  
  849.            For Ham purposes, this is more than sufficient.
  850.  
  851.  
  852.  
  853.  
  854.  
  855.                                                                                                                                               10
  856.  
  857.  
  858.  
  859.  
  860.                                                             7PLUS-theory
  861.            -------------------------------------------------------------
  862.  
  863.            Splitting
  864.            =========
  865.  
  866.            7PLUS can split files in different manners.
  867.  
  868.            It can be ordered to
  869.  
  870.            - split into a specified number of files,
  871.  
  872.                where the size of the produced files depends on
  873.                - the specified number of files and
  874.                - the size of the original file,
  875.  
  876.            or
  877.  
  878.            - split into files of a specified size,
  879.  
  880.                where the number of files produced depends on
  881.                -  the specified size of the parts and
  882.                -  the size of the original file.
  883.  
  884.            How 7PLUS splits can be greatly influenced by the user.
  885.  
  886.            See discription of the split options in 'Usage/Ecoding'.
  887.  
  888.  
  889.            The metafile
  890.            ============
  891.  
  892.            A new feature of 7PLUS are the so-called metafiles. They
  893.            eliminate a number of processing steps when correcting files.
  894.  
  895.            With older versions of 7PLUS, the user had to keep the unsuc-
  896.            cessfully decoded files until he received a correction file.
  897.            When the correction file was received, the code files had to
  898.            be corrected and then decoded. Were there a good number of
  899.            single byte errors, this could take a considerable amount of
  900.            time and if the correction was not successful, the procedure
  901.            had to be repeated. In principal, the code files were decoded
  902.            three times: once when trying to decode, when correcting and
  903.            again when finally decoding. This wasn't very effective, as
  904.            anyone can imagine.
  905.  
  906.            Now, 7PLUS will produce a metafile, when first decoding. The
  907.            metafile contains all successfully decoded lines (in their
  908.            already decoded form) and where lines are missing or damaged,
  909.            the metafile is filled in with NUL bytes.
  910.  
  911.            At this point, the 7PLUS code files may be erased, because
  912.            they are not needed for correcting.
  913.  
  914.            After decoding, the metafile has the same length as the
  915.            original file, only where lines are missing, it has gaps
  916.            where the missing lines can be inserted, when a correction
  917.            file is available.
  918.  
  919.  
  920.  
  921.                                                                                                                                               11
  922.  
  923.  
  924.  
  925.  
  926.                                                       7PLUS file formats
  927.            -------------------------------------------------------------
  928.  
  929.            Some important index information is then appended to the end
  930.            of the metafile (basically the same information as in the
  931.            error report), so 7PLUS can look up, where there still are
  932.            gaps in the metafile.
  933.  
  934.            When a correction file is available, the gaps are simply
  935.            filled in. The metafile does not even have to be moved for
  936.            this process, because this is done by direct positioning of
  937.            the write pointer. The previously inserted NUL bytes are
  938.            simply overwritten.
  939.  
  940.            Since the metafile does not have to be moved, the process of
  941.            correcting is now extremely fast. You may get the feeling,
  942.            nothing has happened!
  943.  
  944.            If all gaps in the metafile are filled in, it is renamed to
  945.            the name of the original file, truncated to its correct
  946.            length (to rid it of the additional info 7PLUS put at the end
  947.            of it; that is also done without moving the file) and its
  948.            original timestamp is restored.
  949.  
  950.            Metafiles have filenames that consist of the prefix of the
  951.            original file's name plus the extension '.7MF'. Metafiles
  952.            must be kept, because without them, correcting errors is not
  953.            possible!
  954.  
  955.            Note:
  956.            On operating systems that do not support the manipulation of
  957.            filesizes, the index info is not appended to the metafile but
  958.            written into an extra file with the extension '.7IX'. At
  959.            least under MS_DOS, DR_DOS, OS/2 and TOS (Atari), manipula-
  960.            tion of filesizes is possible, so no extra index file is
  961.            produced.
  962.  
  963.  
  964.            The error report
  965.            ================
  966.  
  967.            When 7PLUS code files have been damaged in transfer, 7PLUS
  968.            does not actually recognize the specific errors, but
  969.  
  970.            - it recognizes which lines are missing or damaged and
  971.              threrefore have to be transfered again,
  972.            - 'memorizes' the uncorrupted and decoded lines in the
  973.              metafile and
  974.            - produces an error report, where all necessary information
  975.              is contained to allow the uploader of the damaged files the
  976.              compilation of a correction file.
  977.  
  978.            Exception:
  979.            If only one byte per line is falsified, superfluous or
  980.            missing, 7PLUS will correct the error on the spot (so-called
  981.            'single byte correction').
  982.  
  983.  
  984.  
  985.  
  986.  
  987.                                                                                                                                               12
  988.  
  989.  
  990.  
  991.  
  992.                                                       7PLUS file formats
  993.            -------------------------------------------------------------
  994.  
  995.            Example of an error report:
  996.  
  997.             go_text. TEST.ERR
  998.            7PLUS error report: TEST.TXT 113 /Test.TXT/ 34028
  999.            01
  1000.            005 006 007 03D FFF
  1001.            02
  1002.            10C 10D 10E FFF
  1003.            [18398BE4]
  1004.            00
  1005.            CRC A17D
  1006.             stop_text.
  1007.  
  1008.            The error report from OM B is practically the request for a
  1009.            correction file from OM A to thus resend the damaged lines,
  1010.            so they can be added to OM B's metafile.
  1011.  
  1012.  
  1013.            The lines ' go_text.' and ' stop_text.' mark the beginning
  1014.            and end of the error report. These markings allow 7PLUS to
  1015.            find and extract the error report from a capture file.
  1016.  
  1017.            Note:
  1018.  
  1019.            The markings ' go_text.' and ' stop_text.' are also used by
  1020.            my program FFR (Mailbox File Fractionizer) to mark regular
  1021.            text for automatic extraction. Only when the extension of the
  1022.            filename stated in the ' go_text.' line is either '.ERR' or
  1023.            '.COR', it is an error report or a correction file! (Axel)
  1024.  
  1025.  
  1026.            The header '7PLUS error report...' contains information 7PLUS
  1027.            needs to compile a correction file:
  1028.  
  1029.            - Name of the original file,
  1030.            - number of lines per file (splitsize),
  1031.            - the full filename (only AMIGA/UNIX since v1.4) and
  1032.            - the length of the original file (since 7PLUS v1.5).
  1033.  
  1034.  
  1035.            The two-digit hex values define the part (01 - FF) in wich
  1036.            the following lines were corrupted.
  1037.            An unsplit 7PLUS file is handled as 'part 1' here.
  1038.  
  1039.            One or more lines containing 3-digit hex values follow (the
  1040.            first line in a code file is regarded as line 000 and the
  1041.            512th as 1FF).
  1042.  
  1043.            A line number of 'FFF' concludes the list of damaged lines
  1044.            for that part.
  1045.  
  1046.            This can be repeated for all parts having missing or damaged
  1047.            lines.
  1048.  
  1049.            Since 7PLUS v2.0 the error report is conluded by the original
  1050.            file's timestamp enclosed in braces '[]'. The old conclusion
  1051.  
  1052.  
  1053.                                                                                                                                               13
  1054.  
  1055.  
  1056.  
  1057.  
  1058.                                                       7PLUS file formats
  1059.            -------------------------------------------------------------
  1060.  
  1061.            '00' is still there for reasons of compatibility to older
  1062.            versions.
  1063.  
  1064.            After this, the checksum for the error report follows (since
  1065.            7PLUS v1.5) to enable 7PLUS to check the validity of the
  1066.            error report before using it.
  1067.  
  1068.  
  1069.            The correction file
  1070.            ===================
  1071.  
  1072.            Upon reception of the error report from OM B, OM A (hope-
  1073.            fully) compiles a correction file with it. The correction
  1074.            file contains all the lines that were requested by the error
  1075.            report. OM A then either sends the correction file to OM B or
  1076.            posts it as a bulletin, when he has been receiving the same
  1077.            error reports from more than one OM.
  1078.            In case the error reports differ, OM A can have 7PLUS join
  1079.            them ('-J' option) to one error report and then produce a
  1080.            collective correction file with it.
  1081.  
  1082.            When using a correction file, 7PLUS will only replace lines
  1083.            that aren't already decoded successfully. Because of this, OM
  1084.            B2 can use the correction file that was intended for OM B as
  1085.            well and without risk. The correction will then be success-
  1086.            ful, if all the lines that are demaged with OM B2 are
  1087.            successfully replaced.
  1088.  
  1089.            Example of a correction file:
  1090.  
  1091.             go_text. TEST.COR
  1092.            7PLUS correction: TEST.TXT 34028 113 [18398BE4]
  1093.             P01:
  1094.             L005:
  1095.            sdWKLRjwEK...(line   5 of part 1)
  1096.             L006:
  1097.            "rt4rWER7Z...(line   6 of part 1)
  1098.             L007:
  1099.            eeERG35ERG...(line   7 of part 1)
  1100.             L03D:
  1101.            $%&H$%6TZJ...(line  61 of part 1)
  1102.             P02:
  1103.             L10C:
  1104.            AdD$%SFFDr...(line 268 of part 2)
  1105.             L10D:
  1106.            sFG$sFw4rf...(line 269 of part 2)
  1107.             L10E:
  1108.            56fZTddfDg...(line 270 of part 2)
  1109.             P00:
  1110.            CRC A9B6
  1111.             stop_text.
  1112.  
  1113.            ' go_text.', ' stop_text.' and checksum:
  1114.            see 'The error report'.
  1115.  
  1116.  
  1117.  
  1118.  
  1119.                                                                                                                                               14
  1120.  
  1121.  
  1122.  
  1123.  
  1124.                                                       7PLUS file formats
  1125.            -------------------------------------------------------------
  1126.  
  1127.            The header '7PLUS correction...' contains the following
  1128.            information:
  1129.  
  1130.            -  name of the original file,
  1131.            -  length of the original file (decimal) (since 7PLUS v1.5),
  1132.  
  1133.            and additionally since 7PLUS v2.0:
  1134.            -  the blocksize in lines (hex) the original file was split
  1135.               into and
  1136.            -  the timestamp of the original file.
  1137.  
  1138.            A line with an entry of the form ' PXX:' defines, for which
  1139.            of the encoded files the following lines are meant. The code
  1140.            lines are preceded by ' LXXX:' wich states the line number in
  1141.            the file. 'XX' and 'XXX' stand for two- and three-digit hex
  1142.            values.
  1143.  
  1144.            The structure of the error reports and correction files is
  1145.            intentionally held very simple.
  1146.  
  1147.  
  1148.            'Saving' damaged error reports and correction files
  1149.            ===================================================
  1150.  
  1151.            When an error report or correction file has been damaged and
  1152.            it has a checksum, 7PLUS will break execution and warn the
  1153.            user about the missing or incorrect checksum.
  1154.            This does not necessarily mean, the file is unusable. Since
  1155.            the structure of these files is help very simple, it should
  1156.            not be very difficult to erase the faulty parts.
  1157.            Since the checksum (CRC XXXX) is incorrect, it must also be
  1158.            erased or else 7PLUS will still refuse to use it.
  1159.            In addition the '-F' option must be issued, when using files
  1160.            manipulated in this manner.
  1161.            This way it is still possible to at least use the good parts
  1162.            of an error report or correction file, making the next try
  1163.            (requesting new correction file etc.) less voluminous.
  1164.  
  1165.            If the correction file was downloaded by our fictional OM B2,
  1166.            he may be lucky if the correction file contained more lines
  1167.            than he needed to do the correction. Then all his damaged
  1168.            lines may now be replaced (if the right lines were in the
  1169.            correction file, of course).
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.                                                                                                                                               15
  1186.  
  1187.  
  1188.  
  1189.  
  1190.                                                            Compatibility
  1191.            -------------------------------------------------------------
  1192.  
  1193.            Compatibility of 7PLUS versions
  1194.            ===============================
  1195.  
  1196.            7PLUS will decode all files produced with older versions of
  1197.            7PLUS. Files produced with 7PLUS v1.0 e.g. will still decode
  1198.            without any difficulty with 7PLUS v2.10.
  1199.  
  1200.            Since version 1.60 the single byte correction feature was
  1201.            added. For this the code lines were fitted with an additional
  1202.            checksum. Because of this change, versions of 7PLUS before
  1203.            v1.4 will not decode the files from version 1.60 and above
  1204.            any more! There is however the possibility of manually
  1205.            erasing the additional checksums from every line (the last
  1206.            two characters) and to then decode with a version prior to
  1207.            v1.4. Since the greater part of users has a newer version,
  1208.            this incompatibility is actually not a problem any more. Not
  1209.            many other encoders (if any) are as highly an up- AND down-
  1210.            ward compatible as 7PLUS is.
  1211.  
  1212.            Error reports and correction files are also up- and downward
  1213.            compatible.
  1214.  
  1215.            Since 7PLUS v1.5 the error reports and correction files are
  1216.            fitted with a global checksum. It is only checked for
  1217.            validity if the files actually contains a checksum. If 7PLUS
  1218.            does not find a checksum however, it will warn the user:
  1219.  
  1220.            'no CRC. File may be corrupted or from version earlier than
  1221.             7PLUS v1.5'.
  1222.  
  1223.            This only means, that 7PLUS could not figure out, if the file
  1224.            is ok or not. You should take a look at such files and read
  1225.            the chapter ''Saving' damaged ...'.
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.                                                                                                                                               16
  1252.  
  1253.  
  1254.  
  1255.  
  1256.                                                     Filename conventions
  1257.            -------------------------------------------------------------
  1258.  
  1259.            Filename conventions
  1260.            ====================
  1261.  
  1262.            Filenames handled by 7PLUS, must comply with the rules
  1263.            concerning filename generation under MS_DOS, no matter what
  1264.            system 7PLUS is implemented on.
  1265.  
  1266.            They are always made up of
  1267.            - a name (8 characters max.) and
  1268.            - an extension (3 characters max.) seperated by a period.
  1269.  
  1270.            Filenames in 7PLUS-files are always in uppercase!
  1271.  
  1272.            Example for a filename according to above rules: TERMINAL.EXE
  1273.  
  1274.            On disk, lower case is used for the filenames, if the file-
  1275.            system allows this. This is very important on systems that do
  1276.            not ignore the case in filenames (UNIX).
  1277.  
  1278.            To enable transfer of full filenames on systems with name
  1279.            structures different than MS_DOS, the full filenames are
  1280.            transfered separately (see 'The header'). At the same time,
  1281.            an MS_DOS compatible filename is created to insure exchange-
  1282.            ability. E.g., the full filename 'Hyper_Term_Plus' would be
  1283.            changed into 'HYPER_TE'.
  1284.  
  1285.            When encoding a file without splitting it, the encoded file
  1286.            is assigned '.7PL' as the extention.  (TERMINAL.7PL)
  1287.  
  1288.            Split files are assigned '.PXX' as the extension, where XX is
  1289.            a hexadecimal number in the range 01 through FF.
  1290.  
  1291.            Error reports usually have '.ERR' and correction files '.COR'
  1292.            for an extension. This is very important, because 7PLUS gets
  1293.            its information on what to do from the extension!
  1294.  
  1295.            - '.ERR' tells the 7PLUS of the uploader to compile a
  1296.              correction file,
  1297.            - '.COR' tells the 7PLUS of the downloader to do the
  1298.              correction
  1299.  
  1300.  
  1301.            It is allowed to change names of error reports and correction
  1302.            files. However, the extensions MUST comply with above rules!
  1303.  
  1304.            If you recieved a lot of error reports, there is another way
  1305.            of naming these files. The first error report must have
  1306.            '.ERR' for an extension and the following ones must have
  1307.            '.EXX', where XX is a two-digit hex value.
  1308.  
  1309.            Example:
  1310.            You received three error reports that all relate to the same
  1311.            upload (TEST.7PL). When extracting through the '-X' option,
  1312.            the first report will be called TEST.ERR, the second TEST.E01
  1313.            and the third TEST.E02. The three reports can then easily be
  1314.  
  1315.  
  1316.  
  1317.                                                                                                                                               17
  1318.  
  1319.  
  1320.  
  1321.  
  1322.                                                     Filename conventions
  1323.            -------------------------------------------------------------
  1324.  
  1325.            joined into a combined report using the '-J' option for
  1326.            instance.
  1327.  
  1328.            Analogous to the naming of error reports, correction files
  1329.            may also be numbered. If you receive several correction files
  1330.            that have the same name (and relate to the same upload),
  1331.            7PLUS will name the first correction file 'TEST.COR', the
  1332.            next 'TEST.C01' etc..
  1333.  
  1334.  
  1335.            7PLUS-files should always be stored with filenames
  1336.            corresponding to these rules. This is even more important in
  1337.            regard to split files and correcting, because 7PLUS may
  1338.            otherwise not be able to find the files belonging together!
  1339.  
  1340.  
  1341.            Usage
  1342.            =====
  1343.  
  1344.            The following examples apply to an MSDOS system. If using
  1345.            7PLUS on an Atari_ST, you don't need to enter '7plus' again
  1346.            in the requester after you double clicked 7PLUS, but only the
  1347.            parameters shown in the examples.
  1348.            On an Amiga, the CLI must first be started. The syntax is
  1349.            then the same as in the examples, except for differences in
  1350.            the structure of filename and paths.
  1351.  
  1352.  
  1353.            Encoding
  1354.            --------
  1355.  
  1356.            7plus test.txt
  1357.                7PLUS will encode the file TEST.TXT and (if necessary)
  1358.                automatically split it into files of about 10K in size.
  1359.  
  1360.            7plus test.txt -s
  1361.                7PLUS will encode TEST.TXT and split it into files of
  1362.                maximum size (up to 512 lines per file).
  1363.  
  1364.            7plus test.txt -s 30
  1365.                Encode and split TEST.TXT into files of 30 lines each.
  1366.  
  1367.            7plus test.txt -sp 3
  1368.                Encode and split TEST.TXT into 3 files of about equal
  1369.                size.
  1370.  
  1371.            7plus test.txt -sb 5000
  1372.                Encode and split TEST.TXT into files of about 5000 bytes
  1373.                length.
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.                                                                                                                                               18
  1384.  
  1385.  
  1386.  
  1387.  
  1388.                                                                    Usage
  1389.            -------------------------------------------------------------
  1390.  
  1391.            Extracting
  1392.            -----------
  1393.            (Extracting = copy 7PLUS files from a capture file)
  1394.  
  1395.            One can use an editor to extract 7PLUS files from a capture
  1396.            file, but 7PLUS can do this much quicker, safer and more
  1397.            convenient.
  1398.  
  1399.            The 7PLUS extractor looks for files in the capture file that
  1400.            - begin with the markings ' go_7+.', ' go_info.'
  1401.              or ' go_text.', and
  1402.            - end with the line containing ' stop_7+.', ' stop_info.'
  1403.              or ' stop_text.'.
  1404.  
  1405.            The full command to extract 7PLUS files from a capture file
  1406.            is:
  1407.  
  1408.            7plus <capturefile> -x [<searchtext>]
  1409.  
  1410.  
  1411.            Examples:
  1412.  
  1413.            7plus spsave.c10 -x 999.err
  1414.                7PLUS extracts (and numbers) all error reports from the
  1415.                capture file 'spsave.c10' if their name  contains
  1416.                '999.err'. This could be 'TERM999.ERR' or 'MEGA1999.ERR'
  1417.                etc.
  1418.  
  1419.            7plus a:term.log -x
  1420.                If no searchtext is issued, ALL 7PLUS files contained in
  1421.                a capture file are extracted. In this case, the files are
  1422.                extracted from 'a:term.log'.
  1423.  
  1424.            7plus 91-05-15 -x ###
  1425.                When a fictional searchtext is issued (e.g. ###), no
  1426.                files are extracted, but a list is generated, showing
  1427.                what files are contained in the capture file. You get a
  1428.                sort of directory of the contents.
  1429.  
  1430.            When extracting, no matter if the line delimitors in the
  1431.            capture file are CR/LF, CR or LF, the extracted files will
  1432.            have line delimitors in compliance with the system used:
  1433.            CR/LF on IBM and Atari_ST and LF on Amiga and UNIX.
  1434.  
  1435.            If the capture file was created by capturing the data in
  1436.            binary mode, the line delimitors in the file will only be
  1437.            CRs, wich will make editing impossible. 7PLUS however is not
  1438.            only able to correctly extract, but also the correct naming
  1439.            of the files is insured.
  1440.            Along with the 7PLUS code files, error reports, correction
  1441.            files  and info files are also extracted. Info files have to
  1442.            be marked manually before uploading them to a BBS by
  1443.            inserting ' go_info. FILENAME.EXT' as the first line and
  1444.            ' stop_info.' as the last line. FILENAME.EXT is the filename,
  1445.            the info file will be given, when extracted.
  1446.  
  1447.  
  1448.  
  1449.                                                                                                                                               19
  1450.  
  1451.  
  1452.  
  1453.  
  1454.                                                                    Usage
  1455.            -------------------------------------------------------------
  1456.  
  1457.            At this point, I would like to bring your attention to the
  1458.            existance of another program of mine, that will also do the
  1459.            job of extracting 7PLUS files and more: FFR (Mailbox File
  1460.            Fractionizer).
  1461.            The FFR will also extract bulletins, personal mail and the
  1462.            files of most other encoders (RADIX95, CODEX, 7BIT etc.).
  1463.            The FFR can be freely configured to work with many bulletin
  1464.            board system. Currently it knows the formats of TheBox,
  1465.            F6FBB, W0RLI, MSYS and many more.. It's almost as popular
  1466.            as 7PLUS around Germany.. (Axel)
  1467.  
  1468.  
  1469.            Decoding
  1470.            ------
  1471.  
  1472.            7plus test.7pl
  1473.                7PLUS decodes TEST.7PL. If there are no errors in
  1474.                TEST.7PL, 7PLUS will produce a copy of the original file
  1475.                using the MSDOS compatible filename (unless decoding on
  1476.                an Amiga or UNIX system. Then the full filename is used,
  1477.                if available). In case of errors, 7PLUS will produce an
  1478.                error report (TEST.ERR).
  1479.                If 7PLUS finds a correction file 'TEST.COR' in the same
  1480.                directory, it will use it automatically. If additional
  1481.                correction files exist (TEST.C01, TEST.C02 etc.) they are
  1482.                also used.
  1483.                See also 'The metafile'.
  1484.  
  1485.            7plus test.p01
  1486.                7PLUS will decode all parts (*.p01, *.p02 etc.).
  1487.                See previous example.
  1488.  
  1489.            7plus test
  1490.                Automatic mode:
  1491.  
  1492.                7PLUS will -  either DECODE 'TEST.7PL' or 'TEST.PXX'
  1493.                           -  or ENCODE the file named 'TEST' (without
  1494.                              extension).
  1495.  
  1496.                In case the decoding was not successfull, 7PLUS will
  1497.                locate and use correction files and 7PLUS files that
  1498.                could be used to correct the errors.
  1499.  
  1500.  
  1501.            Compiling a correction file
  1502.            ---------------------------
  1503.  
  1504.            7plus test.err c:\pr\
  1505.                7PLUS will compile the correction file 'TEST.COR'. It
  1506.                will look for the original file 'TEST.TXT' in the
  1507.                directory 'C:\PR\'. If no searchpath is issued, 7PLUS
  1508.                will look for 'TEST.TXT in the current directory. It is
  1509.                not necessary for the uploader of 'TEST.TXT' to keep the
  1510.                encoded files (TEST.7PL or TEST.PXX), because they are
  1511.                not needed to compile a correction file. The only thing,
  1512.                he MUST keep is the original unencoded file 'TEST.TXT'!
  1513.  
  1514.  
  1515.                                                                                                                                               20
  1516.  
  1517.  
  1518.  
  1519.  
  1520.                                                                    Usage
  1521.            -------------------------------------------------------------
  1522.  
  1523.                Without it, no correction files can be compiled. Also he
  1524.                should remember how he split 'TEST.TXT' to be able to
  1525.                supply entire parts, if they have been lost alltogether.
  1526.  
  1527.            7PLUS automatically splits very large correction files into
  1528.            chunks of about 10k. The size, where 7PLUS begins to split
  1529.            can be influenced with the '-SB' option.
  1530.            See 'Encoding'
  1531.  
  1532.  
  1533.            A special situation can arise, when a 7PLUS file was created
  1534.            on a system with non-MSDOS filename structures.
  1535.  
  1536.            Example:
  1537.  
  1538.            An OM, who has an AMIGA, encodes 'Hyper_Term_Plus'. 7PLUS
  1539.            creates an MSDOS compatible filename from the full filename:
  1540.            'HYPER_TE' (the full filename is also transfered in the 7PLUS
  1541.            files, but is not used on MSDOS or Atari_ST systems).
  1542.            The 'AMIGA-OM' uploads the file(s) and an 'MSDOS-OM' down-
  1543.            loads it/them and decodes with a version of 7PLUS older than
  1544.            v1.4. In case of errors, the 'MSDOS-OM' sends his error
  1545.            report to the 'AMIGA-OM'. He tries to compile the correction
  1546.            file, but his 7PLUS looks for 'HYPER_TE' instead of
  1547.            'Hyper_Term_Plus'! In this case, the full name including the
  1548.            path must be specified:
  1549.  
  1550.            E.g.: 7plus hyper_te.err df0:utils/Hyper_Term_Plus
  1551.  
  1552.            This problem will not arise, if the 'MSDOS-OM' used 7PLUS
  1553.            v1.4 (or higher), because 7PLUS will add the full filename to
  1554.            the error report.
  1555.  
  1556.  
  1557.            Correcting
  1558.            ----------
  1559.  
  1560.            7plus test.cor
  1561.                7PLUS will use the correction file 'TEST.COR' to fill the
  1562.                gaps in the metafile 'TEST.7MF'. If not all gaps could be
  1563.                filled, 7PLUS creates a new error report. This is the
  1564.                case if the correction file does not cover all gaps or
  1565.                not the right ones. Send the new error report to the
  1566.                uploader and request a new correction file. If 7PLUS
  1567.                finds additional correction files (TEST.C01, TEST.C02
  1568.                etc.) in the same directory as 'TEST.COR' it will
  1569.                automatically use them.
  1570.  
  1571.            7plus test.p03 -c
  1572.                7PLUS also allows the usage of a regular 7PLUS file as a
  1573.                correction file. It will take the lines it needs out of
  1574.                'TEST.P03' and fill the gaps in the metafile. If gaps
  1575.                remain, 7PLUS will create a new error report, just as
  1576.                stated in the previous example.
  1577.  
  1578.  
  1579.  
  1580.  
  1581.                                                                                                                                               21
  1582.  
  1583.  
  1584.  
  1585.  
  1586.                                                                    Usage
  1587.            -------------------------------------------------------------
  1588.  
  1589.            7plus test.7mf -c
  1590.                7PLUS will located the required 7PLUS files (TEST.PXX)
  1591.                and uses them to correct the metafile. Compared to the
  1592.                previous example, 7PLUS will locate all the required
  1593.                7PLUS files and use them to do the correction.
  1594.  
  1595.            7plus test
  1596.                Automatic mode:
  1597.  
  1598.                The automatic mode can also be used here. 7PLUS will
  1599.                locate the files it requires and use them (be it
  1600.                correction files or 7PLUS files that can be used to do
  1601.                the correction).
  1602.  
  1603.            If the correction file was produced using a 7PLUS version
  1604.            prior to v1.5, 7PLUS will break execution, because it can't
  1605.            find any checksum. 7PLUS can be forced to use such a file by
  1606.            issuing the '-F' option. You should however take a look at
  1607.            the file, before doing so!
  1608.            See also ''Saving' damaged...'
  1609.  
  1610.            Tip for insiders:
  1611.  
  1612.            If 'TEST.7PL/PXX' was uploaded to a general board and correc-
  1613.            tion files for it turn up from time to time, one could well
  1614.            wait until a fitting correction file turns up. You could as
  1615.            well try to obtain a good copy of the damaged parts from a
  1616.            distant mailbox and use them for the correction.
  1617.  
  1618.            You may use as many correction files as you wish. Since all
  1619.            successfully decoded lines are stored in the metafile, you
  1620.            may be lucky to eventually fill all remaining gaps.
  1621.  
  1622.  
  1623.            Joining error reports
  1624.            ---------------------
  1625.  
  1626.            Joining of error report is usefull, when an uploader has
  1627.            received more than one error report. He can use the joined
  1628.            error report to produce a collective correction file which
  1629.            contains all lines that were reported damaged. If all error
  1630.            reports are the same, joining is not necessary, of course.
  1631.  
  1632.  
  1633.            7plus test.err test2.err -j
  1634.                7PLUS will join the error reports 'TEST.ERR' and
  1635.                'TEST2.ERR'.
  1636.  
  1637.            7plus test.err -j
  1638.                7PLUS will automatically join all error reports that were
  1639.                created through extraction with the '-X' option. 7PLUS
  1640.                looks for 'TEST.E01', 'TEST.E02' etc.
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.                                                                                                                                               22
  1648.  
  1649.  
  1650.  
  1651.  
  1652.                                                                    Usage
  1653.            -------------------------------------------------------------
  1654.  
  1655.            Recreating an error report from a metafile
  1656.            ------------------------------------------
  1657.  
  1658.            In case an error report is lost or if you want to send one
  1659.            again (because the first one wasn't answered), it can be
  1660.            recreated from the metafile.
  1661.  
  1662.            7plus test.7mf
  1663.                7PLUS reads the index information from the end of the
  1664.                metafile and uses it to create 'TEST.ERR'.
  1665.  
  1666.            NOTE:
  1667.            On some systems, 'TEST.7IX' must be specified instead of
  1668.            'TEST.7MF'. The reason for this is explained in the chapter:
  1669.            'The metafile'.
  1670.  
  1671.  
  1672.            Quick help
  1673.            ----------
  1674.  
  1675.            7PLUS -H (or simply 7PLUS)
  1676.                A short usage info is displayed. Output will pause after
  1677.                25 lines and can be continued by pressing return. On some
  1678.                systems, the number of lines output depends on the number
  1679.                of lines displayable on the screen.
  1680.  
  1681.  
  1682.            Additional options
  1683.            ------------------
  1684.  
  1685.            -J  When encoding, 7PLUS will write all produced 7PLUS parts
  1686.                into a single file. Such a collective file can be
  1687.                identified by its extension 'UPL' (upload). Together with
  1688.                the '-TB'-option, it is possible to produce a ready-to-
  1689.                send file that can be uploaded to the BBS in a single
  1690.                action.
  1691.  
  1692.            -K  With this option, 7PLUS will automatically clean up
  1693.                behind itself and erase all files, that aren't needed any
  1694.                more. Exception: When compiling correction files, error
  1695.                reports will not be erased, because they may still be
  1696.                needed for producing collective correction files.
  1697.  
  1698.            -N  (only ATARI_ST version)
  1699.                Usually 7PLUS prompts for a key stroke after termination.
  1700.                The '-N' option will switch off this prompt. This is
  1701.                useful when 7PLUS is invoked by another program (shell).
  1702.  
  1703.            -P  Encoded files, error repors and correction files will be
  1704.                written with CR as line delimitor. This is necessary with
  1705.                those terminal programs, where 7PLUS-files must be sent
  1706.                in binary mode, because they can't handle 8 bit
  1707.                characters in textmode. This is even more important on
  1708.                the AMIGA or under UNIX , because the standard line
  1709.                separator there is LF! Uploading a file in binary mode,
  1710.                that has LF as a line delimitor, would create an unusable
  1711.  
  1712.  
  1713.                                                                                                                                               23
  1714.  
  1715.  
  1716.  
  1717.  
  1718.                                                                    Usage
  1719.            -------------------------------------------------------------
  1720.  
  1721.                file on the receiving side, because LFs are always
  1722.                stripped in Packet Radio. The standard line separator in
  1723.                Packet Radio is CR! The result would be a file that
  1724.                contains one extremely long line!
  1725.  
  1726.            -R  In case only one part of a multipart upload needs to be
  1727.                re-encoded (e.g. because it never reached it's destina-
  1728.                tion), it is not necessary to encode the entire original
  1729.                file. 7PLUS is able to re-encode only one specified part.
  1730.  
  1731.                Examplel: 7plus test.txt -sp 10 -r 5
  1732.  
  1733.                In this example, 7PLUS only encodes part 5, but not the
  1734.                parts 1-4 and 6-10.
  1735.  
  1736.                It is VERY IMPORTANT to re-encode in EXACTLY the SAME WAY
  1737.                as with the original upload. Be sure to use the same
  1738.                splitting options!
  1739.  
  1740.            -SYSOP  This option allows the decoding even if not all parts
  1741.                have been recieved. The places in the meta file
  1742.                corresponding to the missing parts will be left blank and
  1743.                the lines are marked as missing for a later correction.
  1744.                This option should only be used when unavoidable (the
  1745.                missing parts don't turn up in the BBS even after a
  1746.                week).
  1747.  
  1748.            -T  This option can be used to append a file termination
  1749.                string to 7PLUS files, error reports and correction files
  1750.                to automatically signal the end of the file when
  1751.                uploading.
  1752.  
  1753.                Example: 7plus test.txt -t /ex
  1754.  
  1755.                Note: If the terminating string begins with a minus sign
  1756.                '-', the entire string must be put into double quotes
  1757.                ("-EX") because 7PLUS would otherwise try to interpret it
  1758.                as an option.
  1759.  
  1760.            -TB format.def
  1761.                When encoding, the head and foot texts contained in
  1762.                'FORMAT.DEF' are automatically added to the 7PLUS files.
  1763.  
  1764.                Example for 'FORMAT.DEF':
  1765.  
  1766.                 @@top
  1767.                 sb ibm @ ww
  1768.                 %O %p/%q 7+
  1769.  
  1770.                 @@bottom
  1771.  
  1772.                 Send ERR-files to DG1BBQ @DB0CL.#HB.DEU.EU!
  1773.  
  1774.                 73s, Axel.
  1775.                 /ex
  1776.  
  1777.  
  1778.  
  1779.                                                                                                                                               24
  1780.  
  1781.  
  1782.  
  1783.  
  1784.                                                                    Usage
  1785.            -------------------------------------------------------------
  1786.  
  1787.                The variables have the following meaning:
  1788.  
  1789.                %n  -> Name of the encoded file.
  1790.                %N  -> dito, in capital letters.
  1791.                %o  -> Name of unencoded original file.
  1792.                %O  -> dito, in capital letters.
  1793.                %p  -> Number of the part.
  1794.                %P  -> dito, in hexadecimals.
  1795.                %q  -> Overall number of parts.
  1796.                %Q  -> dito, in hexadecimals.
  1797.                %%  -> The percent sign '%'.
  1798.  
  1799.                Above example format file would create 7PLUS files
  1800.                looking like this:
  1801.  
  1802.                 sb ibm @ ww
  1803.                 TERM999.EXE 01/04 7+
  1804.  
  1805.                 ... This is where the 7PLUS file is ...
  1806.  
  1807.                 Send ERR-files to DG1BBQ @DB0CL.DEU.EU!
  1808.  
  1809.                 73s, Axel.
  1810.                 /ex
  1811.  
  1812.                The '-TB' option only works when encoding, but not when
  1813.                creating correction files or error reports.
  1814.  
  1815.                Up to 256 characters may be specified with '@@top' and
  1816.                '@@bottom'.
  1817.  
  1818.                If you add the '-J'-option the produced files are output
  1819.                into a single file.
  1820.  
  1821.                A word of warning:
  1822.  
  1823.                Files created with these options should not be used with
  1824.                TheBox systems. There is a bug in the command parser of
  1825.                TheBox wich causes problems, when uploading 7PLUS files
  1826.                in one go (send command and 7PLUS file together in one
  1827.                file). If you get the error message 'invalid command',
  1828.                you know the bug has struk again. The bug always mani-
  1829.                fests when the first frame sent to the BBS contains
  1830.                semicolons!
  1831.  
  1832.                You should erase the file in the bbs then and upload it
  1833.                again by issueing the send command manually step by step.
  1834.  
  1835.                This bug in the command parser is present in ALL versions
  1836.                of TheBox, even in the test releases of the new TheBox
  1837.                v1.9. If it will be eliminated in the official release of
  1838.                the v1.9, remains to be seen (DieBox v1.9a Feb 23 finally
  1839.                works correctly! It took long enough (Axel)).
  1840.  
  1841.                The '-TB' option will work fine with any other bulletin
  1842.                board system!
  1843.  
  1844.  
  1845.                                                                                                                                               25
  1846.  
  1847.  
  1848.  
  1849.  
  1850.                                                                    Usage
  1851.            -------------------------------------------------------------
  1852.  
  1853.  
  1854.            -Y  7PLUS assumes 'YES' on all queries. This option is
  1855.                useful, when 7PLUS is invoked from another program
  1856.                (shell, server).
  1857.  
  1858.            -#  When using 7PLUS with a file server, the problem is to
  1859.                let the server know, how many files were produced when
  1860.                encoding. The server could pre-calculate, how many parts
  1861.                would be created, but 7PLUS can produce a small info file
  1862.                called 7PLUS.FLS containing the information on how many
  1863.                files were created and how the names of the encoded files
  1864.                are. The content of 7PLUS.FLS could e.g. be '10 TEST'.
  1865.  
  1866.  
  1867.            Tips for configuring devices and programs for 7PLUS
  1868.            ===================================================
  1869.  
  1870.            General conditions
  1871.            ------------------
  1872.  
  1873.            To be able to process 7PLUS files, it is important, that the
  1874.            TNC and the terminal program are configured correctly.
  1875.  
  1876.            With TNC2 (using TAPR firmware), KAM, PK232, PK88, MFJ ect.
  1877.            the following commands must be set to not interfere with 8
  1878.            bit characters:
  1879.  
  1880.                           8BITCONV ON, AWLEN 8 and LCOK ON
  1881.                        - or equivalent commands accordingly -
  1882.  
  1883.  
  1884.            The serial link between the computer and the terminal should
  1885.            be set to 8 bits, 1 stopbit, no parity (8n1).
  1886.  
  1887.            It is advisable to set the streamswitch character to $01
  1888.            (CTRL-A) - on a KAM, the second streamswitch should be set to
  1889.            $02 (CTRL-A) - because 7PLUS uses practically all displayable
  1890.            characters for itself.
  1891.  
  1892.            With streamswitch set to $7C (|) e.g.,
  1893.  
  1894.            - you may experience unwanted stream changes when uploading
  1895.              7PLUS files!
  1896.  
  1897.            - the terminal program may detect wrong streamswitches when
  1898.              downloading 7PLUS files and thus induce unexpected actions.
  1899.  
  1900.            With the streamswitch set to $01, it is not necessary to use
  1901.            the transparent mode to upload 7PLUS files!
  1902.  
  1903.            All commercial TNCs and multimode controllers are able to
  1904.            handle 8 bit characters in non-transparent mode!
  1905.  
  1906.            Character translation tables of terminal programs must be set
  1907.            to 1:1 translation (no translation). Some programs have
  1908.            options to strip or permanently set the MSB (most significant
  1909.  
  1910.  
  1911.                                                                                                                                               26
  1912.  
  1913.  
  1914.  
  1915.  
  1916.                                         Configuring devices and programs
  1917.            -------------------------------------------------------------
  1918.  
  1919.            bit). These options must be set, so the MSB is not stripped
  1920.            and not changed in any way!
  1921.  
  1922.            Terminal emulations (VT100, ANSI etc.) should not pose any
  1923.            problems with 7PLUS files, because the control sequences used
  1924.            in those emulation usually begin with an escape charater (the
  1925.            7PLUS code does not use the escape character!). Should there
  1926.            be problems with the emulation inspite of that, try switching
  1927.            to a simple TTY-emulation.
  1928.  
  1929.            If you are still having problems with 7PLUS files, the
  1930.            problem lies with the terminal program. In that case, you
  1931.            should read the chapter 'Downloading/uploading in binary
  1932.            mode'. If that doesn't solve the problems, try to get in
  1933.            contact with the author of the terminal program. In his own
  1934.            interest, he will see to it to bring his program up to date
  1935.            (this probably won't work with commercial products).
  1936.  
  1937.            Generally, terminal programs made for telefone use shouldn't
  1938.            be used for Packet Radio.
  1939.  
  1940.            There are a lot of very sophisticated programs especially
  1941.            made for Packet Radio use. Most of them are free or quite
  1942.            inexpensive. Sometimes the vendors of TNCs supply such
  1943.            programs along with the TNC.
  1944.  
  1945.            Since the first appearance of 7PLUS, updates have become
  1946.            available for all Packet Radio programs which are now '7plus
  1947.            safe'.
  1948.  
  1949.            Inspite all critics, this didn't take long at all :-) (Axel)
  1950.  
  1951.  
  1952.            Downloading/uploading in binary mode
  1953.            ====================================
  1954.  
  1955.            With some older Packet Radio terminal programs there may be
  1956.            problems with correct downloading or uploading of 7PLUS
  1957.            files. In such cases, the binary mode of those programs must
  1958.            be used. Don't get this mixed up with modem protocols like
  1959.            YAPP, X-, Y, Z-moden etc. Binary mode just describes a mode,
  1960.            where receiving and sending of data can be done without
  1961.            interpretation of the data content and without the use of a
  1962.            special protocol.
  1963.  
  1964.  
  1965.            Downloading
  1966.            -----------
  1967.  
  1968.            When downloading data in binary mode everything received is
  1969.            stored EXACTLY as it is. Since the line delimitor used in
  1970.            Packet Radio is the carriage return (CR), the downloaded
  1971.            files will only contain CRs as line delimitors.
  1972.  
  1973.            When using the usual capture features of the terminal
  1974.            programs, the conversion of the CR into (CR/LF or LF,
  1975.  
  1976.  
  1977.                                                                                                                                               27
  1978.  
  1979.  
  1980.  
  1981.  
  1982.                                         Configuring devices and programs
  1983.            -------------------------------------------------------------
  1984.  
  1985.            dedending on what computer is used) is automatically done by
  1986.            the terminal program.
  1987.  
  1988.            Since the file produced in binary mode has not undergone the
  1989.            conversion, you won't be able to use a regular editor to cut
  1990.            the 7PLUS files out.
  1991.  
  1992.            To be able to extract the files anyway, use the '-X' option
  1993.            of 7PLUS. See 'Usage/Extracing'.
  1994.  
  1995.            Another way is to use a conversion program for line
  1996.            delimitors (e.g. CRLF. Available on request). The files that
  1997.            were converted can then be edited with a regular text editor.
  1998.  
  1999.            Downloading in binary mode has a useful side-effect:
  2000.  
  2001.            National (umlauts) and graphical characters can be downloaded
  2002.            even if the terminal program would normally strip them.
  2003.  
  2004.  
  2005.            Uploading
  2006.            ---------
  2007.  
  2008.            When uploading 7PLUS files, the '-P' option MUST be used.
  2009.            7PLUS will then use CRs as line delimitors.
  2010.  
  2011.            Error reports don't need to be uploaded in binary mode, so
  2012.            the '-P' option is not necessary there.
  2013.  
  2014.  
  2015.            7PLUS on the AMIGA
  2016.            ------------------
  2017.  
  2018.            Most terminal programs available for the AMIGA are not able
  2019.            to handle 8 bit characters, unfortunately (there are some
  2020.            commendable exceptions, however).
  2021.            In case of difficulties, use the binary mode of those
  2022.            terminal programs.
  2023.  
  2024.            See 'Downloading/uploading in binary mode'
  2025.  
  2026.  
  2027.            Tips for down- and uploading of 7PLUS files
  2028.            ===========================================
  2029.  
  2030.            A lot of things can go wrong when down- or uploading 7PLUS
  2031.            files. To avoid unnecessary trouble, here a some useful
  2032.            hints.
  2033.  
  2034.  
  2035.            Downloading
  2036.            -----------
  2037.  
  2038.            Before downloading huge files from the BBS, you must make
  2039.            sure your terminal program and tnc are correctly configured.
  2040.            For this purpose you find ASC.TXT in the distribution archive
  2041.  
  2042.  
  2043.                                                                                                                                               28
  2044.  
  2045.  
  2046.  
  2047.  
  2048.                              Tips for down- and uploading of 7PLUS files
  2049.            -------------------------------------------------------------
  2050.  
  2051.            of 7PLUS. Upload it to the BBS addressed to yourself and
  2052.            download it again. If it doesn't look EXACTLY like the
  2053.            original any more, check your configuration and read the
  2054.            chapter 'Tips for configuring...'.
  2055.  
  2056.            If the test went ok, then you're set to download 7PLUS-files.
  2057.  
  2058.            The simplest way to download 7PLUS-files is to open a
  2059.            capturefile and continuously write the received files into
  2060.            it. Note that you should not call the capturefile the same as
  2061.            the 7PLUS-files you download! Use a name like 'savefile' for
  2062.            instance.
  2063.  
  2064.            When you have finished downloading the files (did you think
  2065.            of looking for correction files that may already be in the
  2066.            BBS?), you must extract them from the capturefile. For this,
  2067.            an editor can be used or - much more convenient - 7PLUS
  2068.            itself! 7PLUS will not only find and extract the files from
  2069.            the capturefile, but also create the correct filenames for
  2070.            them.
  2071.  
  2072.            Invoking 7PLUS like this:
  2073.  
  2074.               '7plus savefile -x'
  2075.  
  2076.            will do the job of extracting the files from the capturefile.
  2077.  
  2078.            Now, the files are in the format that 7PLUS needs and you can
  2079.            begin decoding.
  2080.  
  2081.             Let's see, what we have on disk now: (This is only an
  2082.            example)
  2083.  
  2084.               TERM999.INF
  2085.               TERM999.P01
  2086.               TERM999.P02
  2087.               TERM999.P03
  2088.               TERM999.P04
  2089.               TERM999.COR
  2090.               TERM999.C01
  2091.  
  2092.            Ah, fine... You thought of downloading the correction files
  2093.            that was already in the BBS.
  2094.  
  2095.            The file 'TERM999.INF' was automatically extracted by 7PLUS,
  2096.            because the author had uploaded it with the markings
  2097.            ' go_info. TERM999.INF' and ' stop_info.'. That way, you get
  2098.            the info file along with the 7PLUS files. Practical...
  2099.  
  2100.            Decoding (including correction) is very simple to do now:
  2101.  
  2102.               '7plus term999'
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.                                                                                                                                               29
  2110.  
  2111.  
  2112.  
  2113.  
  2114.                              Tips for down- and uploading of 7PLUS files
  2115.            -------------------------------------------------------------
  2116.  
  2117.            In case a file called 'TERM999' (without an extension)
  2118.            already exists in the current directory, 7PLUS will try to
  2119.            encode 'TERM999' rather then decode 'TERM999.P01'!
  2120.  
  2121.            This is why i pointed out, that you should use a name for the
  2122.            capturefile, that has no relation to the name of the 7PLUS-
  2123.            files.
  2124.  
  2125.            If you run into this problem, call 7PLUS this way:
  2126.  
  2127.               '7plus term999.p01'
  2128.  
  2129.            If decoding went ok, 7PLUS will tell you:
  2130.  
  2131.               'Decoding succesful! 'term999.exe' 43210 Bytes.'
  2132.  
  2133.            TERM999.EXE is the decoded file. What you have to do from
  2134.            now, depends entirely on the hints from its originator. As
  2135.            the author of 7PLUS, i don't have anything to do with it
  2136.            anymore from this point on.
  2137.  
  2138.            Let's suppose decoding did not go allright.
  2139.  
  2140.            7PLUS says:
  2141.  
  2142.               'Decoding not successful.'
  2143.  
  2144.            This just means, that you should take 'term999.err' and send
  2145.            it to the originator of 'term999.exe' and wait for the
  2146.            correction file to return from him.
  2147.  
  2148.            The meta file 'TERM999.7MF' must be kept at all cost! Without
  2149.            it, you won't be able to do the correction when you receive
  2150.            the correction file.
  2151.  
  2152.            The 7PLUS files 'TERM999.P01' etc are not needed any more and
  2153.            can be deleted.
  2154.  
  2155.            In the past, it happened that OMs sent me error reports for
  2156.            programs I have never uploaded and requested the according
  2157.            correction files from me! Let me say this again in full
  2158.            clarity: The one who uploaded the files, that were corrupted
  2159.            in Store & Forward, is the one you have to send the error
  2160.            reports to!!! I, as the author of the encoder used, have
  2161.            nothing to do with it. Comparison: A forwarding agency
  2162.            delivers goods that were damaged on the transport. No-one in
  2163.            his right mind would have the idea to hold the builder of the
  2164.            truck used for the transport (Me) liable, when the truck
  2165.            (7PLUS) is ok, but the roads (the network) are not....
  2166.  
  2167.  
  2168.            Automatic 'BBS milking'
  2169.            ------------------------
  2170.  
  2171.            Some terminal programs have features that allow to automati-
  2172.            cally log into a BBS and download bulletins of interest.
  2173.  
  2174.  
  2175.                                                                                                                                               30
  2176.  
  2177.  
  2178.  
  2179.  
  2180.                              Tips for down- and uploading of 7PLUS files
  2181.            -------------------------------------------------------------
  2182.  
  2183.  
  2184.            When using such features, this is EXTREMELY IMPORTANT:
  2185.  
  2186.            It happens quite frequently that files downloaded are
  2187.            incomplete because a link failure occured.
  2188.  
  2189.            You should in any case check, if all files really are
  2190.            complete. When decoding such incomplete files, much to big
  2191.            error reports are produced! You should take a look into the
  2192.            BBS, if the files really are damaged that much. If you send
  2193.            such a mammoth error report to the uploader, well knowing,
  2194.            most errors are due to link failures, you are stressing his
  2195.            good will. If this happens frequently, he could cease sending
  2196.            correction files at all!
  2197.  
  2198.  
  2199.            'Listening in' on someone else
  2200.            ------------------------------
  2201.  
  2202.            Some terminal programs have features that allow capturing
  2203.            everything another station is downloading from a BBS (without
  2204.            the AX25 headers). This is a practical way to keep the load
  2205.            on the BBS/digipeater down.
  2206.  
  2207.            7PLUS files that were captured that way, ussually contain
  2208.            more errors than are really present in the BBS. This is due
  2209.            to the fact, that not every frame sent to the other station
  2210.            you were 'listening' to, was captured.
  2211.  
  2212.            However, doubled frames are no problem for 7PLUS. You don't
  2213.            need to edit them out.
  2214.  
  2215.            When decoding such a file, you should be aware that it is a
  2216.            VERY NASTY thing to do to send the error report to the
  2217.            original uploader!
  2218.  
  2219.            Firstly, this causes him unnecessary work and secondly in
  2220.            case he uses the error reports to create a collective
  2221.            correction file, it will contain a lot of lines that are not
  2222.            corrupted anywhere!
  2223.  
  2224.            Better is, to either
  2225.  
  2226.            - send the error report to the station you were listening in
  2227.              to, and explain why you are doing so. He will most probably
  2228.              be happy to help out. If he was able to decode the files
  2229.              successfully, he can compile a correction file right away.
  2230.              If not, you'll have to wait until he got his own correction
  2231.              file,
  2232.  
  2233.            or
  2234.  
  2235.            - listen in on other OMs, who are downloading the files you
  2236.              need and use the files to correct the metafile. If errors
  2237.              remain, continue as described above.
  2238.              See 'Correction'
  2239.  
  2240.  
  2241.                                                                                                                                               31
  2242.  
  2243.  
  2244.  
  2245.  
  2246.                              Tips for down- and uploading of 7PLUS files
  2247.            -------------------------------------------------------------
  2248.  
  2249.  
  2250.  
  2251.            Uploading
  2252.            ---------
  2253.  
  2254.            As in the previous chapter, make sure your terminal and tnc
  2255.            are configured correctly to handle 7PLUS-files. If you don't
  2256.            take all precautions, the files may not be decodable. So,
  2257.            avoid frustrating the other users an think before acting.
  2258.  
  2259.            You should write a small info in which you explain,
  2260.            - what program is contained in the files you upload,
  2261.            - what system the program is for,
  2262.            - what hardware is required,
  2263.            - what compressor (ARJ, LHARC, LHA, PKZIP) was used,
  2264.            - what files are in the archive and last but not least
  2265.            - what encoder was used for the upload (7PLUS in this case).
  2266.  
  2267.            This way one can see right away, if the program is any use
  2268.            for him.
  2269.  
  2270.            The title of this info should be brief but yet state all
  2271.            needed info, e.g.:
  2272.  
  2273.            'TERM999.EXE Info'
  2274.  
  2275.            When uploading to a general purpose board (ALL, SOFTWA etc.),
  2276.            you should also state the system the program runs on:
  2277.  
  2278.            'TERM999.EXE Info (IBM)'
  2279.  
  2280.            The info text should be marked, so 7PLUS can extract it along
  2281.            with the 7PLUS files:
  2282.  
  2283.             go_info. TERM999.INF
  2284.            This is where the info is put.....
  2285.             stop_info.
  2286.  
  2287.            The filename with ' go_info. ...' should be spelled in
  2288.            capital letters and comply with the rules for MSDOS/
  2289.            Atari_TOS! See 'Filename conventions'.
  2290.  
  2291.  
  2292.            OK, now you can do the encoding.
  2293.  
  2294.            Bear in mind that some BBSs restrict the size of bulletins.
  2295.            Ask your SYSOP about this. Take this into regard when
  2296.            splitting the file up ('-s','-sp' or '-sb' option).
  2297.  
  2298.            By using the '-SB' option, you can directly specify the size
  2299.            of the encoded 7PLUS files or correction files.
  2300.  
  2301.            Invoking 7PLUS like this:
  2302.  
  2303.               '7plus term999.exe -sb 4000'
  2304.  
  2305.  
  2306.  
  2307.                                                                                                                                               32
  2308.  
  2309.  
  2310.  
  2311.  
  2312.                              Tips for down- and uploading of 7PLUS files
  2313.            -------------------------------------------------------------
  2314.  
  2315.            tells it to produce files of roughly 4000 bytes each.
  2316.  
  2317.            When not specifying a split option, 7PLUS will produce files
  2318.            of about 10000 bytes in length.
  2319.  
  2320.  
  2321.            After encoding is done, you should have the files TERM999.P01
  2322.            through TERM999.P?? (lets suppose, 12 files were produced) on
  2323.            disk. The files can now be uploaded seperately. Here also,
  2324.            you should choose an informative title:
  2325.  
  2326.            'TERM999.P01 / 0C 7+
  2327.  
  2328.            Means: TERM952 is encoded with 7PLUS and it's the first file
  2329.            of 12 (0C hex) parts.
  2330.  
  2331.            Even better, but maybe somewhat cryptic to newcomers:
  2332.  
  2333.            'TERM999.EXE.SFX.P01/0C.7+'
  2334.  
  2335.            The best way to read this, is from the rear:
  2336.  
  2337.            1) It's a 7PLUS-file,
  2338.            2) of a 12 part upload,
  2339.            3) the first part,
  2340.            4) and the resulting program is a self extracting archive
  2341.               called TERM999.EXE.
  2342.  
  2343.            After uploading all the files, you should check them by down-
  2344.            loading them right away. They could have become corrupted on
  2345.            the way from your terminal to the BBS! In case they really
  2346.            were corrupted, generate a correction file and upload it. It
  2347.            is not really necessary to upload the entire file that was
  2348.            corrupted.
  2349.  
  2350.  
  2351.            And now: wait for error reports...
  2352.  
  2353.            See also 'Additional options / -TB, -J'
  2354.  
  2355.  
  2356.            Uploading correction files
  2357.            --------------------------
  2358.  
  2359.            It has proven to be a good idea to upload correction files
  2360.            twice (in one file).
  2361.  
  2362.            It is very unprobable that both copies of the correction file
  2363.            get corrupted. In case it does happen, the recipient still
  2364.            has the option to use an editor to put togheter one good file
  2365.            from the two corrupted ones.
  2366.  
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.                                                                                                                                               33
  2374.  
  2375.  
  2376.  
  2377.  
  2378.                                                            General notes
  2379.            -------------------------------------------------------------
  2380.  
  2381.            General notes
  2382.            =============
  2383.  
  2384.            When downloading 7PLUS files from a BBS, always look for
  2385.            correction files the uploader may have already posted. There
  2386.            is a good chance that the correction file covers the errors.
  2387.            This saves the uploader unecessary work.
  2388.  
  2389.            If you have uploaded 7PLUS files, answering error reports is
  2390.            a question of good manners and Ham Spirit! Files no-one can
  2391.            get a correction file to, are just garbage, clogging up the
  2392.            BBSs. Of course, there is always the chance, that all files
  2393.            came through undamaged. Unfortunately, that isn't very often
  2394.            the case.
  2395.  
  2396.  
  2397.            Is there a future without errors?
  2398.            =================================
  2399.  
  2400.            Should there be one fine day where the Packet Radio network
  2401.            does not produce any more errors, that must not really mean
  2402.            the end of 7PLUS.
  2403.  
  2404.            It should be considered, that
  2405.  
  2406.            - some BBSs have a throughput of several billion characters,
  2407.  
  2408.            - a message passes maybe several 100 memory cells and
  2409.              harddisks during its travel from A to B,
  2410.  
  2411.            - some computers don't use memory parity checking, so memory
  2412.              defects may go undetected for some time,
  2413.  
  2414.            - the AX25 protocol only has a limited amount of safety
  2415.              against bit errors,
  2416.  
  2417.            - an affordable network still has a lot of unprotocolled
  2418.              links (TNC<-->computer, TNC<-->TNC in some nodes) and last,
  2419.              but not least
  2420.  
  2421.            - a simple impulse can cause the alteration of a character!
  2422.  
  2423.            7PLUS can insure that a file is reconstituted exactly as it
  2424.            was, even if it passed through a lot of BBS.
  2425.  
  2426.  
  2427.            7PLUS is available for a wide range of systems by now, so it
  2428.            represents a safe and practical way of transfering binary
  2429.            data between different systems.
  2430.            And it's more compact than the old-style encoders like UUE or
  2431.            RADIX95...
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.                                                                                                                                               34
  2440.  
  2441.  
  2442.  
  2443.  
  2444.                                                            General notes
  2445.            -------------------------------------------------------------
  2446.  
  2447.            Ordering 7PLUS
  2448.            ==============
  2449.  
  2450.            7PLUS can be ordered on disk.
  2451.  
  2452.            Send a 3½ inch disk plus SASE and maybe a small contribution
  2453.            to my address (see cover of this manual).
  2454.  
  2455.            When ordering from outside of germany:
  2456.  
  2457.                SASE must not be heavier than 50 gramms and not thicke
  2458.                than 50 millimeters.
  2459.  
  2460.                Europe:         enclose 3 US-Dollars return postage.
  2461.                Outside Europe: enclose 5 US-Dollars.
  2462.  
  2463.            Only the versions for MSDOS and OS/2 are availble from me.
  2464.            Other systems: ask around in the mailboxes.
  2465.  
  2466.  
  2467.            The C source code for 7PLUS can be ordered the same way.
  2468.            Since there have been some cases of playing around with and
  2469.            incorrect use of the code, it is only available on request
  2470.            and explanation of intended use. Sorry.
  2471.  
  2472.            Important:
  2473.  
  2474.            I can only handle disks in IBM-format (3.5 inch, 720K/
  2475.            1.44MEG).
  2476.  
  2477.  
  2478.  
  2479.            73s, Axel in Bremerhaven, DG1BBQ @DB0CL.#HB.DEU.EU
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.                                                                                                                                               35
  2506.  
  2507.  
  2508.  
  2509.